This invention relates to a data transmission apparatus and a method thereof for use in a physical layer apparatus that handles a circuit for transmitting data between a plurality of communication nodes pursuant to the frame relay (FR) architecture. The invention prevents an LMI (Local Management Interface) frame stored with communication controlling data from being discarded when there occurs abandshortage/congestion, thereby to prevent an occurrence of any disorganized communication control between communication nodes. More specifically, this invention relates to a data transmission apparatus and a method thereof for use in such a data transmission system, which are capable of effectively performing congestion control between communication nodes without violating a communication protocol of the frame relay architecture even if there occurs a band shortage/congestion.
The frame relay (FR) architecture, characterized by using a packet switching technique with a simplified processing scheme and by establishing a virtual circuit (PVC: Permanent Virtual Circuit) via a data communication network, has been practically used in the art to transmit data between communication nodes to each other. To implement the frame relay architecture, it is necessary that a frame relay switching equipment, a frame relay multiplexer and a router support an LMI for sharing data (LMI data) indicating the status of a virtual circuit between them and used for communication control.
In such frame relay architecture, however, if data traffic increases and results in a band shortage of a transmission path, FR data may be randomly discarded. That is, in case of shaping a frame relay circuit (i.e., decreasing a data amount of FR data in line with a transmission capacity of a transmission path), LMI data required for communication control may be discarded at the time of an occurrence of congestion, which may cause the virtual circuit to be disabled and lead to an undesirable situation where no data transmission is possible.
Japanese Patent Publications, PUPA (publication of unexamined patent application) H8-163177, PUPA H9-64916, PUPA H7-73291, PUPA H9-93284 and PUPA H7-15436 (References 1 to 5), disclose congestion control schemes in the frame relay architecture. However, none of the congestion control schemes disclosed in these References is adapted for solving a problem of the frame relay architecture that LMI data may be discarded at the time of an occurrence of congestion and consequently any further data transmission may become impossible. Nor do they satisfy the requirement of performing effective congestion control between data terminals.
In view of the aforementioned problem of the prior art, it is an object of this invention to provide a data transmission apparatus and a method thereof for use in a communication system, which are capable of transparently transmitting data required for communication control between communication nodes even if there occurs a band shortage/congestion. More particularly, it is another object of this invention to provide a data transmission apparatus and a method thereof for use in a communication system configured to perform a data transmission pursuant to the frame relay architecture, which are capable of transmitting all data required for supporting an LMI necessarily used for communication control between communication nodes even if there occurs a band shortage/congestion.
It is yet another object of this invention to provide a data transmission apparatus and a method thereof for use in an apparatus configured to perform a data transmission pursuant to the frame relay architecture, which are capable of effectively performing congestion control between data terminals with a simple process by noting a result of operation made by said apparatus with respect to congestion controlling data (CN bits) within a data transmitting frame (FR frame).
In order to accomplish said objects of this invention, there is provided a data transmission apparatus for connecting a plurality of communication nodes to transmit data via circuits established between said communication nodes, said plurality of communication nodes transmitting control data for use in controlling the data transmission and communication data other than said control data to each other, comprising: control data queuing means for queuing said control data from at least a first one of said communication nodes transmitting data to each other (first communication node); and data transmission means for transmitting all of said queued control data and at least a portion of said communication data from said first communication node to another one of said communication nodes (second communication node) in accordance with a transmission capacity between said communication nodes.
Preferably, said communication nodes store said control data or said communication data into certain frames and transmit the said frames to each other; said certain frames contain identification data for indicating whether or not at least said control data is stored therein; said control data queuing means comprises: separation means, responsive to said identification data contained in said frames received from said first communication node, for separating said frames stored with said control data from said frames stored with said communication data; a control data queue for queuing said separated frames stored with said control data; and a communication data queue for queuing said separated frames stored with said communication data; and said data transmission means transmits all of said queued frames stored with said control data and at least a portion of said queued frames stored with said communication data to said second communication node in accordance with a transmission capacity between said communication nodes transmitting data to each other.
Preferably, said data transmission means comprises: congestion detection means for detecting an occurrence of congestion between said first communication node and said second communication node when a data amount of said queued frames stored with said control data and/or said queued frames stored with said communication data exceeds a certain threshold value; and sending means, responsive to detection of the congestion between said first communication node and said second communication node, for sending all of said queued frames stored with said control data and at least a portion of said queued frames stored with said communication data, which is within the rest of the transmission capacity between said first communication node and said second communication node, to said second communication node.
Preferably, said plurality of communication nodes store said control data and said communication data into said frames (FR frames) pursuant to the frame relay architecture and transmit the said FR frames to each other in such a manner that in case of storing said control data into the said FR frames, addresses (DLCIs) therein used as said identification data are set to have certain values, whereas in case of storing said communication data into the said FR frames, said DLCIs are set to have values other than said certain values; and said separation means separates said FR frames stored with said control data and said DLCIs having said certain values from said FR frames stored with said communication data and said DLCIs having values other than said certain values.
Preferably, said sending means sets congestion controlling data (CN bits) of said FR frames to values indicating an occurrence of congestion while there is occurring congestion between said first communication node and said second communication node and sends the said FR frames to said second communication node; and each of said plurality of communication nodes is responsive to said CN bits of received FR frames indicating the occurrence of congestion for performing congestion control pursuant to said frame relay architecture.
The data transmission apparatus of this invention may take the form of a multiplexing equipment for transmitting data between data terminals, data transmission equipment, communication networks and the like (hereinafter, these equipment/systems will be generally called xe2x80x9ccommunication nodesxe2x80x9d), which is responsive to an occurrence of band shortage/congestion (hereinafter, a band shortage due to a transmission capacity""s shortage and an inherent cause of the FR system such as a contract of PVC or the like, and congestion will be collectively called xe2x80x9ccongestionxe2x80x9d), assuming necessity of discard of data, for indicating status of a virtual circuit (PVC), discarding only non-transmission controlling data (communication data: user data) alone other than transmission controlling data (control data: LMI data), and transparently transmitting all of LMI data between the communication nodes, thereby enabling to continually perform normal communication control between the communication nodes.
Note that a communication node, performing a data transmission pursuant to the frame relay architecture, stores user data or LMI data into a certain frame (FR frame). Also, a communication node sets a predetermined value defined by various standards (e.g., xe2x80x9c0xe2x80x9d for the ANSI standard, or xe2x80x9c1,023xe2x80x9d for the Frame Relay Forum""s standard) into an address (DLCI: Data Link Connection Identifier) in an FR frame stored with LMI data (LMI frame), whereas it sets another value into DLCI in an FR frame stored with user data, thereby transferring such an FR frame to its corresponding communication node.
Also, in accordance with the frame relay architecture, a communication node performs congestion control in response to congestion controlling bits (CN bits) in an FR frame. In general, a communication network for transmitting an FR frame is configured to set the congestion controlling bits (CN bits) in an FR frame to have a predetermined value (xe2x80x9c1xe2x80x9d) for indicating an occurrence of congestion. On the other hand, in another situation where no congestion occurs, such a communication network is configured to set another value (xe2x80x9c0xe2x80x9d) for indicating non-occurrence of congestion. The data transmission apparatus of this invention is constructed to operate on the premise of the standards of the frame relay architecture as described above.
In the data transmission apparatus of this invention, the separation means associated with the control data queuing means checks a value of DLCI in an FR frame transmitted between communication nodes, and if a value of DLCI in an FR frame received from a first one of the communication nodes (first communication node) is equal to xe2x80x9c0xe2x80x9d (according to the ANSI standard), it determines that the FR frame is an LMI frame stored with LMI data, and enters the FR frame into the control data queue. Also, if a value of DLCI in an FR frame received from the first communication node is not equal to xe2x80x9c0xe2x80x9d, the separation means determines that the FR frame is a user frame stored with user data, and enters the FR frame into the communication data queue.
The congestion detection means associated with the data transmission means detects an occurrence of congestion between the communication nodes in such an exemplary situation where a data amount of user frames queued in the communication data queue exceeds a threshold value, which is preset based on those factors such as a transmission capacity between the first communication node and its corresponding communication node (second communication node), a queue""s capacity and the like.
For example, the sending means, being responsive to detection of the congestion between the communication nodes, initially sends all of the queued LMI frames to the second communication node and after completion of sending all of the control data, it sends a transmissible portion of the queued user frames alone to the second communication node. In other words, the sending means sends the queued LMI frames in a preferential manner and, then, it sends the user frames by making use of the remaining portion (rest) of the transmission capacity, thereby causing the user frames alone to be subjected to shaping processing in a selective or sequential manner.
Also, during a period starting when a data amount of the user data exceeds the threshold value and ending when the data amount goes below the threshold value again, namely, as far as the congestion detection means detects such a sustained or pending occurrence of congestion, the sending means sets congestion controlling bits (congestion controlling data: CN bits) in an FR frame to a value (xe2x80x9c1xe2x80x9d) for indicating an occurrence of congestion and, then, sends the FR frame to the second communication node for notifying this node of the occurrence of congestion, thereby causing this node to perform congestion control.
As described above, since a communication network between communication nodes does not, in general, set the congestion controlling bits to xe2x80x9c0xe2x80x9d, there can be no such case where the congestion controlling bits once set by the sending means to xe2x80x9c1xe2x80x9d is reversed to xe2x80x9c0xe2x80x9d again by processing of the communication network. Accordingly, when the sending means sets a value of the congestion controlling bits to xe2x80x9c1xe2x80x9d, it is possible to notify the second communication node of the occurrence of congestion.
Further, in accordance with another aspect of this invention, there is provided a data transmission method for transmitting data via circuits established between a plurality of communication nodes, comprising the steps of: at said plurality of communication nodes, storing control data for use in controlling a data transmission pursuant to the frame relay architecture or communication data other than said control data into frames (FR frames) pursuant to said frame relay architecture, setting addresses (DLCIs) therein to have values for indicating whether or not the said FR frames are stored with said control data, and transmitting the said FR frames to each other; if the values of said DLCIs contained in said FR frames received from a first one of said communication nodes (first communication node) indicate that the said received FR frames are stored with said control data, separating the said received FR frames as FR frames stored with said control data; if the values of said DLCIs contained in said FR frames received from said first communication node indicate that the said received FR frames are not stored with said control data, separating the said received FR frames as FR frames stored with said communication data; queuing said separated frames stored with said control data; queuing said separated frames stored with said communication data; if a data amount of said queued frames stored with said control data and/or said queued frames stored with said communication data exceeds a certain threshold value, detecting an occurrence of congestion between said first communication node and another one of said communication nodes transmitting data to each other (second communication node); and responding to detection of the congestion between said first communication node and said second communication node for transmitting all of said queued frames stored with said control data and at least a portion of said queued frames stored with said communication data, which is within the rest of the transmission capacity between said first communication node and said second communication node, to said second communication node.
Preferably, while there is occurring congestion between said first communication node and said second communication node, congestion controlling data (CN bits) of said FR frames are set to values indicating an occurrence of congestion for sending the said FR frames to said second communication node; and at each of said plurality of communication nodes, said CN bits of received FR frames indicating the occurrence of congestion are used for performing congestion control pursuant to said frame relay architecture.